// 两种类型推断
let arr= [1,2,3]
let a     //any类型

// type 定义类型(只表示类型)
type s = number[]
type t = string | number    //联合类型
type tt = string & number    //交叉类型（never）

// interface 同名会合并，无法写联合类型，只能通过属性联合
interface A{
    name:string|null
}

// extends 包含的意思
type num = 1 extends number?1:0